iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 16
0
自我挑戰組

前端成長日記系列 第 16

<form>表單

  • 分享至 

  • xImage
  •  

昨天談到使用者觸發 Request 去後端要資料,今天談發出 Request 前,一個常見的重要步驟:填表單。

使用者時常要輸入一些資料,例如註冊時要輸入帳號、密碼、確認密碼、電話號碼等等。而輸入資料的方式,最基礎的就是<form>標籤。

這邊模擬一個登入畫面:
https://ithelp.ithome.com.tw/upload/images/20181031/20109592Hm98PhFL0N.jpg

其 HTML 長這樣:

<form method="get" action="loginHandler.php">
帳號:<input type="text"><br>
密碼:<input type="password"><br>
<input type="submit" value="送出">
</form>

解釋一下各 tag:
1.method 表示採用的 HTTP 的溝通方法。
2.<input>表示輸入欄,可以選擇 type 屬性,短一點的文字 text, 密碼 password, 日期 date...完整可以看W3C網頁
3.送出的按鈕也是一種<input>,其 type 為 submit,value 表示顯示的文字(瀏覽器預設為提交)。
4.最後,action 參數表示要將使用者輸入的資料,送到哪一份程式檔案去做處理(此例為 loginHandler.php)。在這份程式中利用$_REQUEST這種方式去取得 HTTP Request 的參數。

這樣就可以做到輸入資料囉!

不過,由於使用 submit 按鈕,瀏覽器預設會有 refresh 的動作,在使用者體驗上未必是最佳解,且瀏覽器是無記憶能力的(stateless),使用者輸入的資料若沒有利用一些機制儲存起來(例如 cookie),只要網頁 refresh 就會不見(例如登入,如果沒有讓瀏覽器記住"已經登入過",頁面刷新就又會變成尚未登入@@),所以在一些情況下,我們會希望頁面不要刷新。

甚至目前前端框架也各自提供了送出 Request 參數的解法,所以直接使用<form>就我個人的感覺是變少了,但了解 HTTP 底層是這樣運作,仍舊是非常重要。


上一篇
網路基礎
下一篇
專題魔王
系列文
前端成長日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言